package com.guigu.gulimember.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.guigu.gulicommon.entity.dto.RegisterByGiteeDto;
import com.guigu.gulicommon.entity.pojo.res.Res;
import com.guigu.gulicommon.entity.vo.UserInfoVo;
import com.guigu.gulimember.entity.UmsMember;

/**
 * <p>
 * 会员 服务类
 * </p>
 *
 * @author 陈俊杰
 * @since 2024-08-03
 */
public interface IUmsMemberService extends IService<UmsMember> {
    /**
     * 通过Gitee信息注册会员
     *
     * @param dto Gitee信息
     * @return 用户信息
     */
    Res<UserInfoVo> registerByGitee(RegisterByGiteeDto dto);

    /**
     * 根据账号密码获取用户信息
     *
     * @param userName 账号
     * @param password 密码
     * @return 用户信息
     */
    Res<UserInfoVo> getUserByUserNameAndPassword(String userName, String password);

    /**
     * 根据账号查询用户是否存在
     *
     * @param userName 账号
     * @return 会员账号存在状态
     */
    Res<UserInfoVo> existsByUserName(String userName);

    /**
     * 根据Id查询会员信息
     *
     * @return 会员信息
     */
    Res<UserInfoVo> getInfoById();
}
